home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / New System Software Extensions / ASLM SDK v1.1.2 / ASLM Examples / TestTools / Sources / MITest1.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-21  |  1.8 KB  |  108 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        MITest1.h
  3.  
  4.     Contains:    Declarations for multiple-inheritance test classes
  5.  
  6.     Copyright:    © 1993 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __MITEST1__
  11. #define __MITEST1__
  12.  
  13. #ifndef __LIBRARYMANAGER__
  14. #include <LibraryManager.h>
  15. #endif
  16.  
  17. #define kMMixin1ID    "quin:test$MMixin1,1.1"
  18.  
  19. class MMixin1 : public MDynamic
  20. {
  21.     protected:
  22.                         MMixin1(int a);
  23.         virtual            ~MMixin1();
  24.     
  25.     public:
  26.         virtual int        Add1(int a);
  27.         virtual int        Sub1(int a);
  28.         
  29.     int        fFieldm;
  30. };
  31.  
  32. #define kMMixin2ID    "quin:test$MMixin2,1.1"
  33.  
  34. class MMixin2 : public MDynamic
  35. {
  36.     protected:
  37.                         MMixin2(int a);
  38.         virtual            ~MMixin2();
  39.     
  40.     public:
  41.         virtual int        Add2(int a);
  42.         virtual int        Sub2(int a);
  43.         
  44.     int        fFieldm;
  45. };
  46.  
  47. #define kMMixin3ID    "quin:test$MMixin3,1.1"
  48.  
  49. class MMixin3 : public MDynamic
  50. {
  51.     protected:
  52.                         MMixin3(int a);
  53.         virtual            ~MMixin3();
  54.     
  55.     public:
  56.         virtual int        Add3(int a);
  57.         virtual int        Sub3(int a);
  58.         
  59.     int        fFieldm;
  60. };
  61. //
  62. // Non-shared class
  63. //
  64. #ifdef __SC__
  65. class TMainClass : public TSCDynamic
  66. #else
  67. class TMainClass : public TStdDynamic
  68. #endif
  69. {
  70.     public:
  71.                         TMainClass(int a);
  72.         virtual            ~TMainClass();
  73.         
  74.  
  75.         virtual int        Mul(int a);
  76.         virtual int        Div(int a);
  77.         
  78.     int        fFieldt;
  79. };
  80.  
  81. #define kTMixedClassID    "quin:test$TMixedClass,1.1"
  82.  
  83. class TMixedClass : public TMainClass, virtual public MMixin1, public MMixin2
  84. {
  85.     public:
  86.                         TMixedClass(int a);
  87.         virtual            ~TMixedClass();
  88.         
  89.         virtual int        Sub1(int a);
  90.         virtual int        Div(int a);
  91.         virtual int        Add2(int a);
  92. };
  93.  
  94. #define kTMixedClass2ID    "quin:test$TMixedClass2,1.1"
  95.  
  96. class TMixedClass2 : public TMixedClass, virtual public MMixin1, public MMixin3
  97. {
  98.     public:
  99.                         TMixedClass2(int a);
  100.         virtual            ~TMixedClass2();
  101.         
  102.         virtual int        Sub2(int a);
  103.         virtual int        Mul(int a);
  104.         virtual int        Add1(int a);
  105.         virtual int        Add3(int a);
  106. };
  107.  
  108. #endif